# -*- coding: utf-8 -*-
from autocomplete_light.autocomplete import model
from contenidos.models import Contenido, ContenidoDocsPubs
from datos_taxonomicos.models import DatoTaxonomico, Dato
from django.core import urlresolvers
from django.db import models
from expertos.models import Experto
from instituciones.models import Institucion
from lineas_de_investigacion.models import LineaInvestigacion
from localidades.models import Pais
from tipos_documento.models import TipoDocumento
#from usuarios.models import Rol
NIVEL_DE_ACCESO = (
    ('VI', 'Visitante'),
    ('US', 'Usuario'),
    ('EX', 'Experto'),
    ('AD', 'Administrador'),
) 

class NivelDeAcceso(models.Model):
    nombre = models.CharField(max_length=100)
    def get_absolute_url(self):
        return urlresolvers.reverse('documentos:nivel_de_acceso_update', args=(self.pk,))

# Create your models here.
class Documento(models.Model):
    nombre = models.CharField(max_length=100,verbose_name=u'*Nombre del Documento')
    descripcion = models.CharField(max_length=200,blank=True,null=True,verbose_name=u'Breve Descripción')    
    tipo = models.ForeignKey(TipoDocumento,verbose_name=u'*Tipo de Documento')
    contacto = models.EmailField(blank=True,null=True,verbose_name=u'Contacto de Email')
    url = models.URLField(blank=True,null=True,verbose_name=u'Página Web')
    #relaciones
    creador = models.ForeignKey(Experto,blank=True,null=True)
    lineas = models.ManyToManyField(LineaInvestigacion,blank=True,null=True,verbose_name=u'Relacionar a Líneas de Investigación')
    datos = models.ManyToManyField(Dato,blank=True,null=True,verbose_name=u'Relacionar a Datos Taxómicos')
    institucion = models.ManyToManyField(Institucion,blank=True,null=True,verbose_name=u'Relacionar a Instituciones')
    pais = models.ManyToManyField(Pais,blank=True,null=True,verbose_name=u'Relacionar a Paises')
    archivo = models.ForeignKey(ContenidoDocsPubs,blank=True,null=True)
    nivel = models.CharField(max_length=2, choices=NIVEL_DE_ACCESO,blank=True,null=True,verbose_name='Nivel de Acesso')
    nivel_acceso = models.ForeignKey(NivelDeAcceso,blank=True,null=True)
    doc = models.FileField(upload_to='archivos',blank=True,null=True,verbose_name=u'Cargar Archivo del Documento')
    #Resto del codigo
    def __unicode__(self):
        return self.nombre
    
    def referencia_al_link(self):
        return '/documentos/' + str(self.id)
    
    
    def en_detalle_html(self):
        return [ 
                 u'Nombre: %s' % self.nombre,
                 u'Descripción: %s' % self.descripcion,
                 u'Tipo de Documento : %s' % self.tipo, 
                ]

    def get_absolute_url(self):
        return urlresolvers.reverse('documentos:doc_ver', args=(self.pk,))
    
